package com.wanlian.dao;

import com.wanlian.common.PageCondition;
import com.wanlian.entity.User;
import com.wanlian.model.ResultModel;
import com.wanlian.vo.Page;

import java.util.List;

public interface UserDao extends GenericDao<User> {

    /**
     * 根据条件查询用户
     * @param
     * @param
     * @return
     */
    ResultModel queryUsers(PageCondition pageCondition);

    List<User> queryUsersByName(String name);

    List<User> queryUsers();

    List<User> queryUsersByPhone(String phone);

    List<User> queryUsersByName(Page page, String name);

    /**
     * 按条件查询用户
     * @param pageCondition
     * @return
     */
    List<User> queryUsersByParam(PageCondition pageCondition);

    User queryUserByloginInfo(String phone, String password);

    User queryUserByTag(String userTag);

    /**
     * 模糊查询用户
     * @param phoneOrName
     * @param page
     * @return
     */
    ResultModel queryByPartName(String phoneOrName,Page page);


    /**
     * 通过电话号码获取用户
     * @param phone
     * @return
     */
    User queryUserByPhone(String phone);

    ResultModel queryByEnable(Page page,boolean isenable);

    /**
     * 修改用户登录时间
     * @param user
     */
    void doUpdateLoginTime(User user);

    /**
     * 查询int账户是否存在
     */
    User queryintAccountByAccount(String intAccount);

    /**
     * 获取今日新增用户个数
     */
    long queryUserCountToday();

    ResultModel queryIntDetailList(PageCondition pageCondition);


    List<User>queryAllEnableUser();
}
